#ifndef _INPUT_H_
#define _INPUT_H_

#include <SDL.h>
#include "kernelTask.h"
#include "XMLSettings.h"
#include "GCPtr.h"
#include "DataSet.h"

class Input : public IKernelTask
{
public:
	~Input();

	static GCPtr<Input> getInstance();

	// Inherited methods from IKernelTask
	bool Start();
	void Stop();
	void Update();

	bool isUpPressed();
	bool isDownPressed();
	bool isLeftPressed();
	bool isRightPressed();
	bool isEscPressed();
		
protected:

private:
	Input();
	Input( Input const& );
	Input& operator=( Input const& );

	SDL_Event event;

	SDLKey up;
	SDLKey down;
	SDLKey left;
	SDLKey right;

	bool upPressed;
	bool downPressed;
	bool leftPressed;
	bool rightPressed;
	bool escPressed;
};

#endif